def get_line_id_field(sorted_data_pinyin, reading_mode):
    """
    将嵌套的簇结构转换为指定的行结构格式

    Args:
        sorted_data_pinyin: 原始嵌套结构 [簇1, 簇2, ...]
        reading_mode: 阅读模式，0或1，用于确定section_side的起始值

    Returns:
        list: 符合指定格式的行结构
    """
    sorted_data_line = []
    line_id = 1

    # 遍历每个簇，根据阅读模式确定section_side的起始值
    start_idx = 0 if reading_mode == 0 else 2

    for cluster_idx, cluster_data in enumerate(sorted_data_pinyin):
        # 根据阅读模式计算section_side
        section_side = start_idx + cluster_idx

        # 遍历簇中的每一行
        for line_idx, line_data in enumerate(cluster_data):
            # 提取该行的完整文本
            full_text = ''.join([item.get('word', '') for item in line_data])
            char_count = len(full_text)

            # 为每个字符添加char_order
            for char_idx, char_data in enumerate(line_data):
                char_data['char_order'] = char_idx + 1

            # 创建新的行对象
            line_info = {
                "line_id": line_id,
                "section_side": section_side,
                "char_count": char_count,
                "full_text": full_text,
                "word_info": line_data
            }

            sorted_data_line.append(line_info)
            line_id += 1

    return sorted_data_line
